package com.mall.service.impl;

import com.mall.dao.IItemGoodsDao;
import com.mall.domain.ItemGoods;
import com.mall.domain.Page;
import com.mall.service.IItemGoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 商品的业务层实现类
 * @author : liangY
 * @date : 2021-01-12 18:27
 */
@Service("itemGoodsService")
public class ItemGoodsServiceImpl implements IItemGoodsService {

    @Autowired
    private IItemGoodsDao itemGoodsDao;

    /**
     * 查询所有商品
     *
     * @param page 分页实体类
     * @return
     */
    @Override
    public List<ItemGoods> findAll(Page page){
        //判断是否为模糊查询
        if(page.getQuery() == null){
            page.setQuery("%");
        } else {
            page.setQuery("%" + page.getQuery() + "%");
        }
        //设置分页查询开始值
        page.setNum((page.getNum() - 1) * page.getSize());
        return itemGoodsDao.findAll(page);
    }
    /***
     * 用来查询首页展示图片
     * @return
     */
    @Override
    public List<ItemGoods> findAllimg() {
        return itemGoodsDao.findAllimg();
    }

    @Override
    public List<ItemGoods> findAll1() {
        return itemGoodsDao.findAll1();
    }
    @Override
    public List<ItemGoods> findAb(Integer goods_id) {
        return itemGoodsDao.findAb(goods_id);
    }

    /**
     * 查询所有商品
     *
     * @param page 分页实体类
     * @return
     */
    @Override
    public List<ItemGoods> findAlls(Page page){
        //判断是否为模糊查询
        if(page.getQuery() == null){
            page.setQuery("%");
        } else {
            page.setQuery("%" + page.getQuery() + "%");
        }
        //设置分页查询开始值
        page.setNum((page.getNum() - 1) * page.getSize());
        return itemGoodsDao.findAlls(page);
    }

    /**
     * 查询所有商品数量
     *
     * @return
     */
    @Override
    public Integer findTotal(){
        return itemGoodsDao.findTotal();
    }

    /**
     * 更新商品
     *
     * @param itemGoods 商品实体类
     * @return
     */
    @Override
    public Integer update(ItemGoods itemGoods){
        return itemGoodsDao.update(itemGoods);
    }

    /**
     * 添加商品
     *
     * @param itemGoods 商品实体类
     * @return
     */
    @Override
    public Integer add(ItemGoods itemGoods){
        itemGoods.setStatus(true);
        return itemGoodsDao.add(itemGoods);
    }

    /**
     * 删除商品
     *
     * @param goods_id 商品编号
     * @return
     */
    @Override
    public Integer del(Integer goods_id){
        return itemGoodsDao.del(goods_id);
    }
}
